Micron Document
<!DOCTYPE html>
<html class="client-nojs vector-feature-night-mode-disabled vector-feature-language-in-header-enabled vector-feature-language-in-main-page-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-1 vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-enabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-1 vector-sticky-header-enabled" lang="en" dir="ltr"><head>
<meta charset="UTF-8">
<title>Virtual camera system</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="canonical" href="https://en.wikipedia.org/wiki/Virtual_camera_system"> <link href="./mw/ext.cite.styles.css" rel="stylesheet" type="text/css">
<link href="./mw/skins.vector.icons.css" rel="stylesheet" type="text/css">
<link href="./mw/skins.vector.search.codex.styles.css" rel="stylesheet" type="text/css">
<link href="./mw/skins.vector.styles.css" rel="stylesheet" type="text/css">
<link href="./mw/user.styles.css" rel="stylesheet" type="text/css">
<meta name="ResourceLoaderDynamicStyles" content="">
<link rel="stylesheet" type="text/css" href="./mw/site.styles.css">
<link rel="stylesheet" type="text/css" href="./mw/noscript.css">
<link rel="stylesheet" type="text/css" href="./footer.css">
<link rel="stylesheet" type="text/css" href="./vector-2022.css">
</head>
<body class="skin--responsive skin-vector skin-vector-search-vue mediawiki ltr sitedir-ltr mw-hide-empty-elt ns-0 ns-subject page-Virtual_camera_system rootpage-Virtual_camera_system skin-vector-2022 action-view">
<div class="mw-page-container">
<div class="mw-page-container-inner">
<div class="mw-content-container">
<main id="content" class="mw-body">
<header class="mw-body-header vector-page-titlebar">
<h1 id="firstHeading" class="firstHeading mw-first-heading">
<span id="openzim-page-title" class="mw-page-title-main"><span class="mw-page-title-main">Virtual camera system</span></span>
</h1>
</header>
<a id="top"></a>
<div id="bodyContent" class="vector-body ve-init-mw-desktopArticleTarget-targetContainer" aria-labelledby="firstHeading" data-mw-ve-target-container="">
<div id="mw-content-text" class="mw-body-content mw-content-ltr" lang="en" dir="ltr"><div class="mw-content-ltr mw-parser-output" lang="en" dir="ltr">
<p class="mw-empty-elt">

</p>

<style data-mw-deduplicate="TemplateStyles:r1129693374">
/* start https://en.wikipedia.org/ */


.mw-parser-output .hlist dl,.mw-parser-output .hlist ol,.mw-parser-output .hlist ul{margin:0;padding:0}.mw-parser-output .hlist dd,.mw-parser-output .hlist dt,.mw-parser-output .hlist li{margin:0;display:inline}.mw-parser-output .hlist.inline,.mw-parser-output .hlist.inline dl,.mw-parser-output .hlist.inline ol,.mw-parser-output .hlist.inline ul,.mw-parser-output .hlist dl dl,.mw-parser-output .hlist dl ol,.mw-parser-output .hlist dl ul,.mw-parser-output .hlist ol dl,.mw-parser-output .hlist ol ol,.mw-parser-output .hlist ol ul,.mw-parser-output .hlist ul dl,.mw-parser-output .hlist ul ol,.mw-parser-output .hlist ul ul{display:inline}.mw-parser-output .hlist .mw-empty-li{display:none}.mw-parser-output .hlist dt::after{content:": "}.mw-parser-output .hlist dd::after,.mw-parser-output .hlist li::after{content:" · ";font-weight:bold}.mw-parser-output .hlist dd:last-child::after,.mw-parser-output .hlist dt:last-child::after,.mw-parser-output .hlist li:last-child::after{content:none}.mw-parser-output .hlist dd dd:first-child::before,.mw-parser-output .hlist dd dt:first-child::before,.mw-parser-output .hlist dd li:first-child::before,.mw-parser-output .hlist dt dd:first-child::before,.mw-parser-output .hlist dt dt:first-child::before,.mw-parser-output .hlist dt li:first-child::before,.mw-parser-output .hlist li dd:first-child::before,.mw-parser-output .hlist li dt:first-child::before,.mw-parser-output .hlist li li:first-child::before{content:" (";font-weight:normal}.mw-parser-output .hlist dd dd:last-child::after,.mw-parser-output .hlist dd dt:last-child::after,.mw-parser-output .hlist dd li:last-child::after,.mw-parser-output .hlist dt dd:last-child::after,.mw-parser-output .hlist dt dt:last-child::after,.mw-parser-output .hlist dt li:last-child::after,.mw-parser-output .hlist li dd:last-child::after,.mw-parser-output .hlist li dt:last-child::after,.mw-parser-output .hlist li li:last-child::after{content:")";font-weight:normal}.mw-parser-output .hlist ol{counter-reset:listitem}.mw-parser-output .hlist ol>li{counter-increment:listitem}.mw-parser-output .hlist ol>li::before{content:" "counter(listitem)"\a0 "}.mw-parser-output .hlist dd ol>li:first-child::before,.mw-parser-output .hlist dt ol>li:first-child::before,.mw-parser-output .hlist li ol>li:first-child::before{content:" ("counter(listitem)"\a0 "}


/* end https://en.wikipedia.org/ */
</style><style data-mw-deduplicate="TemplateStyles:r1246091330">
/* start https://en.wikipedia.org/ */


.mw-parser-output .sidebar{width:22em;float:right;clear:right;margin:0.5em 0 1em 1em;background:var(--background-color-neutral-subtle,#f8f9fa);border:1px solid var(--border-color-base,#a2a9b1);padding:0.2em;text-align:center;line-height:1.4em;font-size:88%;border-collapse:collapse;display:table}body.skin-minerva .mw-parser-output .sidebar{display:table!important;float:right!important;margin:0.5em 0 1em 1em!important}.mw-parser-output .sidebar-subgroup{width:100%;margin:0;border-spacing:0}.mw-parser-output .sidebar-left{float:left;clear:left;margin:0.5em 1em 1em 0}.mw-parser-output .sidebar-none{float:none;clear:both;margin:0.5em 1em 1em 0}.mw-parser-output .sidebar-outer-title{padding:0 0.4em 0.2em;font-size:125%;line-height:1.2em;font-weight:bold}.mw-parser-output .sidebar-top-image{padding:0.4em}.mw-parser-output .sidebar-top-caption,.mw-parser-output .sidebar-pretitle-with-top-image,.mw-parser-output .sidebar-caption{padding:0.2em 0.4em 0;line-height:1.2em}.mw-parser-output .sidebar-pretitle{padding:0.4em 0.4em 0;line-height:1.2em}.mw-parser-output .sidebar-title,.mw-parser-output .sidebar-title-with-pretitle{padding:0.2em 0.8em;font-size:145%;line-height:1.2em}.mw-parser-output .sidebar-title-with-pretitle{padding:0.1em 0.4em}.mw-parser-output .sidebar-image{padding:0.2em 0.4em 0.4em}.mw-parser-output .sidebar-heading{padding:0.1em 0.4em}.mw-parser-output .sidebar-content{padding:0 0.5em 0.4em}.mw-parser-output .sidebar-content-with-subgroup{padding:0.1em 0.4em 0.2em}.mw-parser-output .sidebar-above,.mw-parser-output .sidebar-below{padding:0.3em 0.8em;font-weight:bold}.mw-parser-output .sidebar-collapse .sidebar-above,.mw-parser-output .sidebar-collapse .sidebar-below{border-top:1px solid #aaa;border-bottom:1px solid #aaa}.mw-parser-output .sidebar-navbar{text-align:right;font-size:115%;padding:0 0.4em 0.4em}.mw-parser-output .sidebar-list-title{padding:0 0.4em;text-align:left;font-weight:bold;line-height:1.6em;font-size:105%}.mw-parser-output .sidebar-list-title-c{padding:0 0.4em;text-align:center;margin:0 3.3em}@media(max-width:640px){body.mediawiki .mw-parser-output .sidebar{width:100%!important;clear:both;float:none!important;margin-left:0!important;margin-right:0!important}}body.skin--responsive .mw-parser-output .sidebar a>img{max-width:none!important}@media screen{html.skin-theme-clientpref-night .mw-parser-output .sidebar:not(.notheme) .sidebar-list-title,html.skin-theme-clientpref-night .mw-parser-output .sidebar:not(.notheme) .sidebar-title-with-pretitle{background:transparent!important}html.skin-theme-clientpref-night .mw-parser-output .sidebar:not(.notheme) .sidebar-title-with-pretitle a{color:var(--color-progressive)!important}}@media screen and (prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .sidebar:not(.notheme) .sidebar-list-title,html.skin-theme-clientpref-os .mw-parser-output .sidebar:not(.notheme) .sidebar-title-with-pretitle{background:transparent!important}html.skin-theme-clientpref-os .mw-parser-output .sidebar:not(.notheme) .sidebar-title-with-pretitle a{color:var(--color-progressive)!important}}@media print{body.ns-0 .mw-parser-output .sidebar{display:none!important}}


/* end https://en.wikipedia.org/ */
</style><table class="sidebar sidebar-collapse nomobile"><tbody><tr><td class="sidebar-top-image"><span typeof="mw:File"></span></td></tr><tr><td class="sidebar-pretitle-with-top-image">Part of a series on</td></tr><tr><th class="sidebar-title-with-pretitle"><a href="Video_game_graphics" title="Video game graphics">Video game graphics</a></th></tr><tr><td class="sidebar-content">
<div class="sidebar-list mw-collapsible mw-collapsed"><div class="sidebar-list-title" style="color: var(--color-base)">Types</div><div class="sidebar-list-content mw-collapsible-content" style="text-align:left;">
<ul><li><a href="2.5D" title="2.5D">2.5D &amp; 3/4 perspective</a></li>
<li><a href="First-person_(video_games)" title="First-person (video games)">First-person view</a></li>
<li><a href="Fixed_3D" class="mw-redirect" title="Fixed 3D">Fixed 3D</a></li>
<li><a href="Full_motion_video_based_game" class="mw-redirect" title="Full motion video based game">Full motion video based game</a></li>
<li><a href="Graphic_adventure_game" class="mw-redirect" title="Graphic adventure game">Graphic adventure game</a></li>
<li><a href="Isometric_video_game_graphics" title="Isometric video game graphics">Isometric video game graphics</a></li>
<li><a href="Side-scrolling_video_game" title="Side-scrolling video game">Side-scrolling video game</a></li>
<li><a href="Stereoscopic_video_game" title="Stereoscopic video game">Stereoscopic video game</a></li>
<li><a href="Text-based_game" title="Text-based game">Text-based game</a></li>
<li><a href="Third-person_view" class="mw-redirect" title="Third-person view">Third-person view</a></li>
<li><a href="Tile-based_video_game" title="Tile-based video game">Tile-based video game</a></li>
<li><a href="Top-down_perspective" class="mw-redirect" title="Top-down perspective">Top-down perspective</a></li>
<li><a href="Vector_game" class="mw-redirect" title="Vector game">Vector game</a></li></ul></div></div></td>
</tr><tr><td class="sidebar-content">
<div class="sidebar-list mw-collapsible mw-collapsed"><div class="sidebar-list-title" style="color: var(--color-base)">Topics</div><div class="sidebar-list-content mw-collapsible-content" style="text-align:left;">
<ul><li><a href="2D_computer_graphics" title="2D computer graphics">2D computer graphics</a>
<ul><li><a href="Parallax_scrolling" title="Parallax scrolling">Parallax scrolling</a></li>
<li><a href="Pixel_art" title="Pixel art">Pixel art</a></li>
<li><a href="Sprite_(computer_graphics)" title="Sprite (computer graphics)">Sprite</a></li></ul></li>
<li><a href="3D_computer_graphics" title="3D computer graphics">3D computer graphics</a>
<ul><li><a href="3D_rendering" title="3D rendering">3D rendering</a></li>
<li><a href="Polygon_(computer_graphics)" title="Polygon (computer graphics)">Polygon</a></li>
<li><a href="Pre-rendering" title="Pre-rendering">Pre-rendering</a></li>
<li><a href="Cel_shading" title="Cel shading">Cel shading</a></li>
<li><a href="Skybox_(video_games)" title="Skybox (video games)">Skybox</a></li></ul></li>
<li><a href="Animation" title="Animation">Animation</a>
<ul><li><a href="Digitization" title="Digitization">Digitization</a></li>
<li><a href="Rotoscoping" title="Rotoscoping">Rotoscoping</a></li></ul></li>
<li><a href="Computer_graphics" title="Computer graphics">Computer graphics</a>
<ul><li><a href="Real-time_computer_graphics" title="Real-time computer graphics">Real-time graphics</a></li></ul></li>
<li><a href="Game_art_design" title="Game art design">Game art design</a></li>
<li><a href="Game_engine" title="Game engine">Graphics engine</a>
<ul><li><a href="First-person_shooter_engine" title="First-person shooter engine">First-person shooter engine</a></li>
<li><a href="Tile-based_video_game" title="Tile-based video game">Tile engine</a></li></ul></li>

<li><a href="Voxel" title="Voxel">Voxel</a></li></ul></div></div></td>
</tr><tr><td class="sidebar-content">
<div class="sidebar-list mw-collapsible mw-collapsed"><div class="sidebar-list-title" style="color: var(--color-base)">Lists</div><div class="sidebar-list-content mw-collapsible-content" style="text-align:left;">
<ul><li><a href="List_of_four-dimensional_games" title="List of four-dimensional games">List of four-dimensional games</a></li>
<li><a href="List_of_interactive_movies" class="mw-redirect" title="List of interactive movies">List of FMV-based games</a></li>
<li><a href="List_of_first-person_shooter_engines" title="List of first-person shooter engines">List of FPS engines</a></li>
<li><a href="List_of_stereoscopic_video_games" title="List of stereoscopic video games">List of stereoscopic video games</a></li>
<li><a href="List_of_text-based_computer_games" title="List of text-based computer games">List of text-based computer games</a></li>
<li>Category:Video game graphics</li></ul></div></div></td>
</tr><tr><td class="sidebar-navbar"><style data-mw-deduplicate="TemplateStyles:r1239400231">
/* start https://en.wikipedia.org/ */


.mw-parser-output .navbar{display:inline;font-size:88%;font-weight:normal}.mw-parser-output .navbar-collapse{float:left;text-align:left}.mw-parser-output .navbar-boxtext{word-spacing:0}.mw-parser-output .navbar ul{display:inline-block;white-space:nowrap;line-height:inherit}.mw-parser-output .navbar-brackets::before{margin-right:-0.125em;content:"[ "}.mw-parser-output .navbar-brackets::after{margin-left:-0.125em;content:" ]"}.mw-parser-output .navbar li{word-spacing:-0.125em}.mw-parser-output .navbar a>span,.mw-parser-output .navbar a>abbr{text-decoration:inherit}.mw-parser-output .navbar-mini abbr{font-variant:small-caps;border-bottom:none;text-decoration:none;cursor:inherit}.mw-parser-output .navbar-ct-full{font-size:114%;margin:0 7em}.mw-parser-output .navbar-ct-mini{font-size:114%;margin:0 4em}html.skin-theme-clientpref-night .mw-parser-output .navbar li a abbr{color:var(--color-base)!important}@media(prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .navbar li a abbr{color:var(--color-base)!important}}@media print{.mw-parser-output .navbar{display:none!important}}


/* end https://en.wikipedia.org/ */
</style></td></tr></tbody></table>
<p>In <a href="3D_computer_graphics" title="3D computer graphics">3D video games</a>, a <b>virtual camera system</b> aims at controlling a camera or a set of cameras to display a view of a 3D <a href="Virtual_world" title="Virtual world">virtual world</a>. Camera systems are used in video games where their purpose is to show the action at the best possible angle; more generally, they are used in 3D virtual worlds when a third-person view is required.
</p><p>As opposed to filmmakers, virtual camera system creators have to deal with a world that is interactive and unpredictable. It is not possible to know where the <a href="Player_character" title="Player character">player character</a> is going to be in the next few seconds; therefore, it is not possible to plan the <a href="Shot_(filming)" class="mw-redirect" title="Shot (filming)">shots</a> as a filmmaker would do. To solve this issue, the system relies on certain rules or <a href="Artificial_intelligence" title="Artificial intelligence">artificial intelligence</a> to select the most appropriate shots.
</p><p>There are mainly three types of camera systems. In <i>fixed camera systems</i>, the camera does not move at all, and the system displays the player's character in a succession of still shots. <i>Tracking cameras</i>, on the other hand, follow the character's movements. Finally, <i>interactive camera systems</i> are partially automated and allow the player to directly change the view. To implement camera systems, video game developers use techniques such as <a href="Constraint_programming" title="Constraint programming">constraint solvers</a>, <a href="Scripts_(artificial_intelligence)" class="mw-redirect" title="Scripts (artificial intelligence)">artificial intelligence scripts</a>, or <a href="Autonomous_agent" title="Autonomous agent">autonomous agents</a>.
</p>
<meta property="mw:PageProp/toc">
<div class="mw-heading mw-heading2"><h2 id="Third-person_view"> Third-person view</h2></div>
<p>In video games, "<a href="Third-person_(video_games)" title="Third-person (video games)">third-person</a>" refers to a <a href="Perspective_(visual)" class="mw-redirect" title="Perspective (visual)">graphical perspective</a> rendered from a fixed distance behind and slightly above the player character. This viewpoint allows players to see a more strongly characterized <a href="Avatar_(computing)" title="Avatar (computing)">avatar</a> and is most common in <a href="Action_game" title="Action game">action games</a> and <a href="Action_adventure_game" class="mw-redirect" title="Action adventure game">action adventure games</a>. Games with this perspective often make use of positional audio, where the volume of ambient sounds varies depending on the position of the avatar.<sup id="cite_ref-fundamentals_1-0" class="reference"><a href="#cite_note-fundamentals-1"><span class="cite-bracket">[</span>1<span class="cite-bracket">]</span></a></sup>
</p><p>There are primarily three types of third-person camera systems: the "fixed camera systems" in which the camera positions are set during the game creation; the "tracking camera systems" in which the camera simply follows the player's character; and the "interactive camera systems" that are under the player's control.
</p>
<div class="mw-heading mw-heading3"><h3 id="Fixed">Fixed</h3></div>

<p>With a fixed camera system, the developers set the properties of the camera, such as its position, orientation or <a href="Field_of_view" title="Field of view">field of view</a>, during the game creation. The camera views will not change dynamically, so the same place will always be shown under the same set of views. Games that use fixed cameras include <i><a href="Grim_Fandango" title="Grim Fandango">Grim Fandango</a></i> (1998) and the early <i><a href="Resident_Evil" title="Resident Evil">Resident Evil</a></i> and <i><a href="God_of_War_(franchise)" title="God of War (franchise)">God of War</a></i> games.<sup id="cite_ref-2" class="reference"><a href="#cite_note-2"><span class="cite-bracket">[</span>2<span class="cite-bracket">]</span></a></sup>
</p><p>One advantage of this camera system is that it allows the game designers to use the <a href="Film_theory" title="Film theory">language of film</a>, creating mood through camerawork and selection of shots. Games that use this kind of technique are often praised for their cinematic qualities.<sup id="cite_ref-3" class="reference"><a href="#cite_note-3"><span class="cite-bracket">[</span>3<span class="cite-bracket">]</span></a></sup> Many games with fixed cameras use <a href="Tank_controls" title="Tank controls">tank controls</a>, whereby players control character movement relative to the position of the <a href="Player_character" title="Player character">player character</a> rather than the camera position;<sup id="cite_ref-:0_4-0" class="reference"><a href="#cite_note-:0-4"><span class="cite-bracket">[</span>4<span class="cite-bracket">]</span></a></sup> this allows the player to maintain direction when the camera angle changes.<sup id="cite_ref-:2_5-0" class="reference"><a href="#cite_note-:2-5"><span class="cite-bracket">[</span>5<span class="cite-bracket">]</span></a></sup>
</p>
<div class="mw-heading mw-heading3"><h3 id="Tracking">Tracking</h3></div>

<p>Tracking cameras follows the characters from behind. The player does not control the camera in any way – they cannot for example rotate it or move it to a different position. This type of camera system was very common in early 3D games such as <i><a href="Crash_Bandicoot_(video_game)" title="Crash Bandicoot (video game)">Crash Bandicoot</a></i> or <i><a href="Tomb_Raider_(1996_video_game)" title="Tomb Raider (1996 video game)">Tomb Raider</a></i> since it is very simple to implement. However, there are a number of issues with it. In particular, if the current view is not suitable (either because it is occluded by an object, or because it is not showing what the player is interested in), it cannot be changed since the player does not control the camera.<sup id="cite_ref-6" class="reference"><a href="#cite_note-6"><span class="cite-bracket">[</span>6<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-7" class="reference"><a href="#cite_note-7"><span class="cite-bracket">[</span>7<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-8" class="reference"><a href="#cite_note-8"><span class="cite-bracket">[</span>8<span class="cite-bracket">]</span></a></sup> Sometimes this viewpoint causes difficulty when a character turns or stands face out against a wall. The camera may jerk or end up in awkward positions.<sup id="cite_ref-fundamentals_1-1" class="reference"><a href="#cite_note-fundamentals-1"><span class="cite-bracket">[</span>1<span class="cite-bracket">]</span></a></sup>
</p>
<div class="mw-heading mw-heading3"><h3 id="Interactive">Interactive</h3></div>

<p>This type of camera system is an improvement over the tracking camera system. While the camera is still tracking the character, some of its parameters, such as its orientation or distance to the character, can be changed. On <a href="Video_game_console" title="Video game console">video game consoles</a>, the camera is often controlled by an <a href="Analog_stick" title="Analog stick">analog stick</a> to provide good accuracy, whereas on PC games it is usually controlled by the <a href="Mouse_(computing)" class="mw-redirect" title="Mouse (computing)">mouse</a>. This is the case in games such as <i><a href="Super_Mario_Sunshine" title="Super Mario Sunshine">Super Mario Sunshine</a></i> or <i><a href="The_Legend_of_Zelda%3A_The_Wind_Waker" title="The Legend of Zelda: The Wind Waker">The Legend of Zelda: The Wind Waker</a></i>. Fully interactive camera systems are often difficult to implement in the right way. Thus <a href="GameSpot" title="GameSpot">GameSpot</a> argues that much of the <i>Super Mario Sunshine'</i> difficulty comes from having to control the camera.<sup id="cite_ref-9" class="reference"><a href="#cite_note-9"><span class="cite-bracket">[</span>9<span class="cite-bracket">]</span></a></sup> <i>The Legend of Zelda: The Wind Waker</i> was more successful at it - <a href="IGN" title="IGN">IGN</a> called the camera system "so smart that it rarely needs manual correction".<sup id="cite_ref-10" class="reference"><a href="#cite_note-10"><span class="cite-bracket">[</span>10<span class="cite-bracket">]</span></a></sup>
</p><p>One of the first games to offer an interactive camera system was <i><a href="Super_Mario_64" title="Super Mario 64">Super Mario 64</a></i>. The game had two types of camera systems between which the player could switch at any time. The first one was a standard tracking camera system except that it was partly driven by <a href="Artificial_intelligence" title="Artificial intelligence">artificial intelligence</a>. Indeed, the system was "aware" of the structure of the level and therefore could anticipate certain shots. For example, in the first level, when the path to the hill is about to turn left, the camera automatically starts looking towards the left too, thus anticipating the player's movements. The second type allows the player to control the camera relatively to <a href="Mario" title="Mario">Mario</a>'s position. By pressing the left or right buttons, the camera rotates around Mario, while pressing up or down moves the camera closer or away from Mario.<sup id="cite_ref-11" class="reference"><a href="#cite_note-11"><span class="cite-bracket">[</span>11<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-12" class="reference"><a href="#cite_note-12"><span class="cite-bracket">[</span>12<span class="cite-bracket">]</span></a></sup>
</p>
<div class="mw-heading mw-heading2"><h2 id="Implementation">Implementation</h2></div>
<p>There is a large body of research on how to implement a camera system.<sup id="cite_ref-13" class="reference"><a href="#cite_note-13"><span class="cite-bracket">[</span>13<span class="cite-bracket">]</span></a></sup> The role of a <a href="Constraint_programming" title="Constraint programming">constraint solver software</a> is to generate the best possible shot given a set of visual constraints. In other words, the constraint solver is given a requested shot composition such as "show this character and ensure that he covers at least 30 percent of the screen space". The solver will then use various methods to try to create a shot that would satisfy this request. Once a suitable shot is found, the solver outputs the coordinates and rotation of the camera, which can then be used by the graphic engine renderer to display the view.<sup id="cite_ref-14" class="reference"><a href="#cite_note-14"><span class="cite-bracket">[</span>14<span class="cite-bracket">]</span></a></sup>
</p><p>In some camera systems, if no solution can be found, constraints are relaxed. For example, if the solver cannot generate a shot where the character occupies 30 percent of the screen space, it might ignore the screen space constraint and simply ensure that the character is visible at all.<sup id="cite_ref-15" class="reference"><a href="#cite_note-15"><span class="cite-bracket">[</span>15<span class="cite-bracket">]</span></a></sup> Such methods include zooming out.
</p><p>Some camera systems use predefined scripts to decide how to select the current shot for commonly seen shot scenarios called film idioms. Typically, the script is going to be triggered as a result of an action. For instance, when the player's character initiates a conversation with another character, the "conversation" script is going to be triggered. This script will contain instructions on how to "shoot" a two-character conversation. Thus the shots will be a combination of, for instance, <a href="Over_the_shoulder_shot" class="mw-redirect" title="Over the shoulder shot">over the shoulder shots</a> and <a href="Close-up" title="Close-up">close-up</a> shots. Such script-based approaches may switch the camera between a set of predefined cameras or rely on a constraint solver to generate the camera coordinates to account for variability in scene layout. This scripted approach and the use of a constraint solver to compute virtual cameras was first proposed by Drucker.<sup id="cite_ref-16" class="reference"><a href="#cite_note-16"><span class="cite-bracket">[</span>16<span class="cite-bracket">]</span></a></sup> Subsequent research demonstrated how a script-based system could automatically switch cameras to view conversations between avatars in a realtime chat application.<sup id="cite_ref-17" class="reference"><a href="#cite_note-17"><span class="cite-bracket">[</span>17<span class="cite-bracket">]</span></a></sup>
</p><p>Bill Tomlinson used a more original approach to the problem. He devised a system in which the camera is an <a href="Autonomous_agent" title="Autonomous agent">autonomous agent</a> with its own personality. The style of the shots and their rhythm will be affected by their mood.<sup id="cite_ref-18" class="reference"><a href="#cite_note-18"><span class="cite-bracket">[</span>18<span class="cite-bracket">]</span></a></sup>
</p>
<div class="mw-heading mw-heading2"><h2 id="In_mixed-reality_applications">In mixed-reality applications</h2></div>
<p>In 2010, the <a href="Kinect" title="Kinect">Kinect</a> was released by <a href="Microsoft" title="Microsoft">Microsoft</a> as a <a href="3D_scanner" class="mw-redirect" title="3D scanner">3D scanner</a>/<a href="Webcam" title="Webcam">webcam</a> hybrid peripheral device which provides full-body detection of <a href="Xbox_360" title="Xbox 360">Xbox 360</a> players and hands-free control of the user interfaces of video games and other software on the console. This was later modified by Oliver Kreylos<sup id="cite_ref-19" class="reference"><a href="#cite_note-19"><span class="cite-bracket">[</span>19<span class="cite-bracket">]</span></a></sup> of <a href="University_of_California%2C_Davis" title="University of California, Davis">University of California, Davis</a> in a series of YouTube videos which showed him combining the Kinect with a PC-based virtual camera.<sup id="cite_ref-20" class="reference"><a href="#cite_note-20"><span class="cite-bracket">[</span>20<span class="cite-bracket">]</span></a></sup> Because the Kinect is capable of detecting a full range of depth (through <a href="Computer_stereo_vision" title="Computer stereo vision">computer stereo vision</a> and <a href="Structured_light" title="Structured light">Structured light</a>) within a captured scene, Kreylos demonstrated the capacity of the Kinect and the virtual camera to allow free-viewpoint navigation of the range of depth, although the camera could only allow video capture of the scene as shown to the front of the Kinect, resulting in fields of black, empty space where the camera was unable to capture video within the field of depth. Later, Kreylos demonstrated a further elaboration on the modification by combining the video streams of two Kinects in order to further enhance the video capture within the view of the virtual camera.<sup id="cite_ref-21" class="reference"><a href="#cite_note-21"><span class="cite-bracket">[</span>21<span class="cite-bracket">]</span></a></sup> Kreylos' developments using the Kinect were covered among the works of others in the Kinect hacking and <a href="Homebrew_(video_games)" title="Homebrew (video games)">homebrew</a> community in a <a href="New_York_Times" class="mw-redirect" title="New York Times">New York Times</a> article.<sup id="cite_ref-22" class="reference"><a href="#cite_note-22"><span class="cite-bracket">[</span>22<span class="cite-bracket">]</span></a></sup>
</p>
<div class="mw-heading mw-heading2"><h2 id="Real-time_recording_and_motion_tracking">Real-time recording and motion tracking</h2></div>
<p>Virtual cameras have been developed which allow a director to film <a href="Motion_capture" title="Motion capture">motion capture</a> and view the digital character's movements in real time<sup id="cite_ref-23" class="reference"><a href="#cite_note-23"><span class="cite-bracket">[</span>23<span class="cite-bracket">]</span></a></sup> in a pre-constructed digital environment, such as a house or spaceship.<sup id="cite_ref-wired_24-0" class="reference"><a href="#cite_note-wired-24"><span class="cite-bracket">[</span>24<span class="cite-bracket">]</span></a></sup> <i><a href="Resident_Evil_5" title="Resident Evil 5">Resident Evil 5</a></i> was the first video game to use the technology,<sup id="cite_ref-25" class="reference"><a href="#cite_note-25"><span class="cite-bracket">[</span>25<span class="cite-bracket">]</span></a></sup> which was developed for the 2009 film <i><a href="Avatar_(2009_film)" title="Avatar (2009 film)">Avatar</a></i>.<sup id="cite_ref-wired_24-1" class="reference"><a href="#cite_note-wired-24"><span class="cite-bracket">[</span>24<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-26" class="reference"><a href="#cite_note-26"><span class="cite-bracket">[</span>26<span class="cite-bracket">]</span></a></sup>
The use of <a href="Motion_capture" title="Motion capture">motion capture</a> to control the position and orientation of a virtual camera enables the operator to intuitively move and aim the virtual camera by simply walking about and turning the virtual camera rig. A virtual camera rig consists of a portable monitor or tablet device, motion sensors, an optional support framework, and optional joystick or button controls that are commonly used to start or stop recording and adjust lens properties.<sup id="cite_ref-27" class="reference"><a href="#cite_note-27"><span class="cite-bracket">[</span>27<span class="cite-bracket">]</span></a></sup> In 1992, Michael McKenna of MIT's Media Lab demonstrated the earliest documented virtual camera rig when he fixed a Polhemus magnetic motion sensor and a 3.2 inch portable LCD TV to a wooden ruler.<sup id="cite_ref-28" class="reference"><a href="#cite_note-28"><span class="cite-bracket">[</span>28<span class="cite-bracket">]</span></a></sup> The Walkthrough Project at the University of North Carolina at Chapel Hill produced a number of physical input devices for virtual camera view control including dual three-axis joysticks and a billiard-ball shaped prop known as the UNC Eyeball that featured an embedded six-degree of freedom motion tracker and a digital button.<sup id="cite_ref-29" class="reference"><a href="#cite_note-29"><span class="cite-bracket">[</span>29<span class="cite-bracket">]</span></a></sup>
</p>
<div class="mw-heading mw-heading2"><h2 id="See_also">See also</h2></div>
<ul><li><a href="Camera_matrix" title="Camera matrix">Camera matrix</a></li>
<li><a href="First-person_(video_game)" class="mw-redirect" title="First-person (video game)">First-person (video game)</a></li>
<li><a href="Free_look" title="Free look">Free look</a></li>
<li><a href="Game_engine" title="Game engine">Game engine</a></li>
<li><a href="Virtual_cinematography" title="Virtual cinematography">Virtual cinematography</a></li></ul>
<div class="mw-heading mw-heading2"><h2 id="References">References</h2></div>
<style data-mw-deduplicate="TemplateStyles:r1239543626">
/* start https://en.wikipedia.org/ */


.mw-parser-output .reflist{margin-bottom:0.5em;list-style-type:decimal}@media screen{.mw-parser-output .reflist{font-size:90%}}.mw-parser-output .reflist .references{font-size:100%;margin-bottom:0;list-style-type:inherit}.mw-parser-output .reflist-columns-2{column-width:30em}.mw-parser-output .reflist-columns-3{column-width:25em}.mw-parser-output .reflist-columns{margin-top:0.3em}.mw-parser-output .reflist-columns ol{margin-top:0}.mw-parser-output .reflist-columns li{page-break-inside:avoid;break-inside:avoid-column}.mw-parser-output .reflist-upper-alpha{list-style-type:upper-alpha}.mw-parser-output .reflist-upper-roman{list-style-type:upper-roman}.mw-parser-output .reflist-lower-alpha{list-style-type:lower-alpha}.mw-parser-output .reflist-lower-greek{list-style-type:lower-greek}.mw-parser-output .reflist-lower-roman{list-style-type:lower-roman}


/* end https://en.wikipedia.org/ */
</style><div class="reflist">
<div class="mw-references-wrap mw-references-columns"><ol class="references">
<li id="cite_note-fundamentals-1"><span class="mw-cite-backlink">^ <a href="#cite_ref-fundamentals_1-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-fundamentals_1-1"><sup><i><b>b</b></i></sup></a></span> <span class="reference-text"><style data-mw-deduplicate="TemplateStyles:r1238218222">
/* start https://en.wikipedia.org/ */


.mw-parser-output cite.citation{font-style:inherit;word-wrap:break-word}.mw-parser-output .citation q{quotes:"\"""\"""'""'"}.mw-parser-output .citation:target{background-color:rgba(0,127,255,0.133)}.mw-parser-output .id-lock-free.id-lock-free a{background:url("./mw/Lock-green.svg")right 0.1em center/9px no-repeat}.mw-parser-output .id-lock-limited.id-lock-limited a,.mw-parser-output .id-lock-registration.id-lock-registration a{background:url("./mw/Lock-gray-alt-2.svg")right 0.1em center/9px no-repeat}.mw-parser-output .id-lock-subscription.id-lock-subscription a{background:url("./mw/Lock-red-alt-2.svg")right 0.1em center/9px no-repeat}.mw-parser-output .cs1-ws-icon a{background:url("./mw/Wikisource-logo.svg")right 0.1em center/12px no-repeat}body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-free a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-limited a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-registration a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-subscription a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .cs1-ws-icon a{background-size:contain;padding:0 1em 0 0}.mw-parser-output .cs1-code{color:inherit;background:inherit;border:none;padding:inherit}.mw-parser-output .cs1-hidden-error{display:none;color:var(--color-error,#d33)}.mw-parser-output .cs1-visible-error{color:var(--color-error,#d33)}.mw-parser-output .cs1-maint{display:none;color:#085;margin-left:0.3em}.mw-parser-output .cs1-kern-left{padding-left:0.2em}.mw-parser-output .cs1-kern-right{padding-right:0.2em}.mw-parser-output .citation .mw-selflink{font-weight:inherit}@media screen{.mw-parser-output .cs1-format{font-size:95%}html.skin-theme-clientpref-night .mw-parser-output .cs1-maint{color:#18911f}}@media screen and (prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .cs1-maint{color:#18911f}}


/* end https://en.wikipedia.org/ */
</style><cite id="CITEREFRollingsErnest_Adams2006" class="citation book cs1">Rollings, Andrew; Ernest Adams (2006). <a rel="nofollow" class="external text" href="https://web.archive.org/web/20090217232801/http://wps.prenhall.com/bp_gamedev_1/54/14053/3597646.cw/index.html"><i>Fundamentals of Game Design</i></a>. Prentice Hall. <a href="ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a>&nbsp;<bdi>9780131687479</bdi>. Archived from <a rel="nofollow" class="external text" href="http://wps.prenhall.com/bp_gamedev_1/54/14053/3597646.cw/index.html">the original</a> on 17 February 2009<span class="reference-accessdate">. Retrieved <span class="nowrap">24 March</span> 2009</span>.</cite></span>
</li>
<li id="cite_note-2"><span class="mw-cite-backlink"><b><a href="#cite_ref-2">^</a></b></span> <span class="reference-text"><cite id="CITEREFCasamassina" class="citation web cs1">Casamassina, Matt. <a rel="nofollow" class="external text" href="http://www.giantbomb.com/fixed-camera/3015-1715/">"fixed-camera"</a>. giantbomb.</cite></span>
</li>
<li id="cite_note-3"><span class="mw-cite-backlink"><b><a href="#cite_ref-3">^</a></b></span> <span class="reference-text"><cite id="CITEREFCasamassina" class="citation web cs1">Casamassina, Matt. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20090325153306/http://uk.cube.ign.com/articles/358/358101p3.html">"Resident Evil Review"</a>. IGN. Archived from <a rel="nofollow" class="external text" href="http://uk.cube.ign.com/articles/358/358101p3.html">the original</a> on 25 March 2009<span class="reference-accessdate">. Retrieved <span class="nowrap">22 March</span> 2009</span>.</cite></span>
</li>
<li id="cite_note-:0-4"><span class="mw-cite-backlink"><b><a href="#cite_ref-:0_4-0">^</a></b></span> <span class="reference-text"><cite class="citation news cs1"><a rel="nofollow" class="external text" href="https://www.pcgamer.com/a-eulogy-for-tank-controls/">"A eulogy for tank controls"</a>. <i><a href="PC_Gamer" title="PC Gamer">PC Gamer</a></i>. 20 February 2015<span class="reference-accessdate">. Retrieved <span class="nowrap">5 March</span> 2018</span>.</cite></span>
</li>
<li id="cite_note-:2-5"><span class="mw-cite-backlink"><b><a href="#cite_ref-:2_5-0">^</a></b></span> <span class="reference-text"><cite id="CITEREFMatulef2015" class="citation web cs1">Matulef, Jeffrey (26 January 2015). <a rel="nofollow" class="external text" href="http://www.eurogamer.net/articles/2015-01-24-bringing-out-the-dead-tim-schafer-reflects-back-on-grim-fandango">"Bringing out the Dead: Tim Schafer reflects back on Grim Fandango"</a>. <i>Eurogamer</i><span class="reference-accessdate">. Retrieved <span class="nowrap">5 March</span> 2018</span>.</cite></span>
</li>
<li id="cite_note-6"><span class="mw-cite-backlink"><b><a href="#cite_ref-6">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://web.archive.org/web/20080211014816/http://uk.dreamcast.ign.com/articles/160/160140p1.html">"Sonic Adventure Review"</a>. IGN. Archived from <a rel="nofollow" class="external text" href="http://uk.dreamcast.ign.com/articles/160/160140p1.html">the original</a> on 11 February 2008<span class="reference-accessdate">. Retrieved <span class="nowrap">22 March</span> 2009</span>.</cite></span>
</li>
<li id="cite_note-7"><span class="mw-cite-backlink"><b><a href="#cite_ref-7">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="http://uk.pc.ign.com/articles/162/162059p1.html">"Tomb Raider: The Last Revelation Review"</a>. IGN. 11 December 1999<span class="reference-accessdate">. Retrieved <span class="nowrap">22 March</span> 2009</span>.</cite></span>
</li>
<li id="cite_note-8"><span class="mw-cite-backlink"><b><a href="#cite_ref-8">^</a></b></span> <span class="reference-text"><cite id="CITEREFCarle" class="citation web cs1">Carle, Chris. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20090325214145/http://uk.cube.ign.com/articles/403/403746p3.html">"Enter the Matrix Review"</a>. IGN. Archived from <a rel="nofollow" class="external text" href="http://uk.cube.ign.com/articles/403/403746p3.html">the original</a> on 25 March 2009<span class="reference-accessdate">. Retrieved <span class="nowrap">22 March</span> 2009</span>.</cite></span>
</li>
<li id="cite_note-9"><span class="mw-cite-backlink"><b><a href="#cite_ref-9">^</a></b></span> <span class="reference-text"><cite id="CITEREFGerstmann2002" class="citation web cs1">Gerstmann, Jeff (4 October 2002). <a rel="nofollow" class="external text" href="https://web.archive.org/web/20090326003410/http://uk.gamespot.com/gamecube/action/supermariosunshine/review.html?om_act=convert&amp;om_clk=gssummary&amp;tag=summary%3Bread-review&amp;page=2">"Super Mario Sunshine Review for GameCube"</a>. GameSpot. Archived from <a rel="nofollow" class="external text" href="http://uk.gamespot.com/gamecube/action/supermariosunshine/review.html?om_act=convert&amp;om_clk=gssummary&amp;tag=summary%3Bread-review&amp;page=2">the original</a> on 26 March 2009<span class="reference-accessdate">. Retrieved <span class="nowrap">22 March</span> 2009</span>.</cite></span>
</li>
<li id="cite_note-10"><span class="mw-cite-backlink"><b><a href="#cite_ref-10">^</a></b></span> <span class="reference-text"><cite id="CITEREFCasamassina2003" class="citation web cs1">Casamassina, Matt (25 March 2003). <a rel="nofollow" class="external text" href="https://web.archive.org/web/20090326003127/http://uk.cube.ign.com/articles/390/390314p2.html">"The Legend of Zelda: The Wind Waker Review"</a>. IGN. Archived from <a rel="nofollow" class="external text" href="http://uk.cube.ign.com/articles/390/390314p2.html">the original</a> on 26 March 2009<span class="reference-accessdate">. Retrieved <span class="nowrap">22 March</span> 2009</span>.</cite></span>
</li>
<li id="cite_note-11"><span class="mw-cite-backlink"><b><a href="#cite_ref-11">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://web.archive.org/web/20090326041036/http://uk.gamespot.com/gamespot/features/video/15influential/p15_01.html">"15 Most Influential Video Games of All Time: Super Mario 64"</a>. GameSpot. Archived from <a rel="nofollow" class="external text" href="http://uk.gamespot.com/gamespot/features/video/15influential/p15_01.html">the original</a> on 26 March 2009<span class="reference-accessdate">. Retrieved <span class="nowrap">22 March</span> 2009</span>.</cite></span>
</li>
<li id="cite_note-12"><span class="mw-cite-backlink"><b><a href="#cite_ref-12">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="http://www.1up.com/do/feature?cId=3135350">"The Essential 50 Part 36: Super Mario 64 from"</a>. 1UP.com<span class="reference-accessdate">. Retrieved <span class="nowrap">22 March</span> 2009</span>.</cite></span>
</li>
<li id="cite_note-13"><span class="mw-cite-backlink"><b><a href="#cite_ref-13">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://web.archive.org/web/20110813023237/http://cameracontrol.org/blog/bibliography/">"Cameracontrol.org: The virtual camera control bibliography"</a>. Archived from <a rel="nofollow" class="external text" href="http://cameracontrol.org/blog/bibliography/">the original</a> on 13 August 2011<span class="reference-accessdate">. Retrieved <span class="nowrap">6 May</span> 2011</span>.</cite></span>
</li>
<li id="cite_note-14"><span class="mw-cite-backlink"><b><a href="#cite_ref-14">^</a></b></span> <span class="reference-text"><cite id="CITEREFBaresScott_McDermottChristina_BoudreauxSomying_Thainimit2000" class="citation journal cs1">Bares, William; Scott McDermott; Christina Boudreaux; Somying Thainimit (2000). <a rel="nofollow" class="external text" href="https://web.archive.org/web/20100710145126/http://www.cacs.louisiana.edu/~sdm1718/papers/Virtual_3D_Camera_Composition_from_Frame_Constraints.pdf">"Virtual 3D camera composition from frame constraints"</a> <span class="cs1-format">(PDF)</span>. <i>International Multimedia Conference</i>. California, United States: Marina del Rey: <span class="nowrap">177–</span>186. Archived from <a rel="nofollow" class="external text" href="http://www.cacs.louisiana.edu/~sdm1718/papers/Virtual_3D_Camera_Composition_from_Frame_Constraints.pdf">the original</a> <span class="cs1-format">(PDF)</span> on 10 July 2010<span class="reference-accessdate">. Retrieved <span class="nowrap">22 March</span> 2009</span>.</cite></span>
</li>
<li id="cite_note-15"><span class="mw-cite-backlink"><b><a href="#cite_ref-15">^</a></b></span> <span class="reference-text"><cite id="CITEREFDruckerDavid_Zeltzer1995" class="citation book cs1"><a href="Steven_M._Drucker" title="Steven M. Drucker">Drucker, Steven M.</a>; David Zeltzer (1995). <a rel="nofollow" class="external text" href="https://web.archive.org/web/20110605131715/http://research.microsoft.com/en-us/um/people/sdrucker/papers/sig95symp.pdf"><i>CamDroid: A System for Implementing Intelligent Camera Control</i></a> <span class="cs1-format">(PDF)</span>. <a href="ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a>&nbsp;<bdi>978-0-89791-736-0</bdi>. Archived from <a rel="nofollow" class="external text" href="http://research.microsoft.com/en-us/um/people/sdrucker/papers/sig95symp.pdf">the original</a> <span class="cs1-format">(PDF)</span> on 5 June 2011<span class="reference-accessdate">. Retrieved <span class="nowrap">22 March</span> 2009</span>.</cite> <span class="cs1-visible-error citation-comment"><code class="cs1-code">{{cite book}}</code>: </span><span class="cs1-visible-error citation-comment"><code class="cs1-code">|journal=</code> ignored (help)</span></span>
</li>
<li id="cite_note-16"><span class="mw-cite-backlink"><b><a href="#cite_ref-16">^</a></b></span> <span class="reference-text"><cite id="CITEREFDruckerDavid_Zeltzer1995" class="citation book cs1">Drucker, Steven M.; David Zeltzer (1995). <a rel="nofollow" class="external text" href="https://web.archive.org/web/20110605131715/http://research.microsoft.com/en-us/um/people/sdrucker/papers/sig95symp.pdf"><i>CamDroid: A System for Implementing Intelligent Camera Control</i></a> <span class="cs1-format">(PDF)</span>. <a href="ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a>&nbsp;<bdi>978-0-89791-736-0</bdi>. Archived from <a rel="nofollow" class="external text" href="http://research.microsoft.com/en-us/um/people/sdrucker/papers/sig95symp.pdf">the original</a> <span class="cs1-format">(PDF)</span> on 5 June 2011<span class="reference-accessdate">. Retrieved <span class="nowrap">15 March</span> 2015</span>.</cite> <span class="cs1-visible-error citation-comment"><code class="cs1-code">{{cite book}}</code>: </span><span class="cs1-visible-error citation-comment"><code class="cs1-code">|journal=</code> ignored (help)</span></span>
</li>
<li id="cite_note-17"><span class="mw-cite-backlink"><b><a href="#cite_ref-17">^</a></b></span> <span class="reference-text"><cite id="CITEREFHeMichael_F._CohenDavid_H._Salesin1996" class="citation journal cs1">He, Li-wei; <a href="Michael_F._Cohen" title="Michael F. Cohen">Michael F. Cohen</a>; David H. Salesin (1996). <a rel="nofollow" class="external text" href="https://web.archive.org/web/20080828081453/http://grail.cs.washington.edu/pub/papers/virtcine.pdf">"The Virtual Cinematographer: A Paradigm for Automatic Real-Time Camera Control and Directing"</a> <span class="cs1-format">(PDF)</span>. <i>International Conference on Computer Graphics and Interactive Techniques</i>. <b>23rd</b>. New York: <span class="nowrap">217–</span>224. Archived from <a rel="nofollow" class="external text" href="http://grail.cs.washington.edu/pub/papers/virtcine.pdf">the original</a> <span class="cs1-format">(PDF)</span> on 28 August 2008<span class="reference-accessdate">. Retrieved <span class="nowrap">22 March</span> 2009</span>.</cite></span>
</li>
<li id="cite_note-18"><span class="mw-cite-backlink"><b><a href="#cite_ref-18">^</a></b></span> <span class="reference-text"><cite id="CITEREFTomlinsonBruce_BlumbergDelphine_Nain2000" class="citation book cs1">Tomlinson, Bill; Bruce Blumberg; Delphine Nain (2000). "Expressive autonomous cinematography for interactive virtual environments". <a rel="nofollow" class="external text" href="http://www.ics.uci.edu/~wmt/pubs/autonomousAgents00.pdf"><i>Proceedings of the fourth international conference on Autonomous agents</i></a> <span class="cs1-format">(PDF)</span>. Vol.&nbsp;4th. Barcelona, Spain. pp.&nbsp;<span class="nowrap">317–</span>324. <a href="CiteSeerX_(identifier)" class="mw-redirect" title="CiteSeerX (identifier)">CiteSeerX</a>&nbsp;<span class="id-lock-free" title="Freely accessible"><a rel="nofollow" class="external text" href="https://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.19.7502">10.1.1.19.7502</a></span>. <a href="Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.1145%2F336595.337513">10.1145/336595.337513</a>. <a href="ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a>&nbsp;<bdi>978-1-58113-230-4</bdi>. <a href="S2CID_(identifier)" class="mw-redirect" title="S2CID (identifier)">S2CID</a>&nbsp;<a rel="nofollow" class="external text" href="https://api.semanticscholar.org/CorpusID:5532829">5532829</a>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20050329122053/http://www.ics.uci.edu/~wmt/pubs/autonomousAgents00.pdf">Archived</a> <span class="cs1-format">(PDF)</span> from the original on 29 March 2005<span class="reference-accessdate">. Retrieved <span class="nowrap">22 March</span> 2009</span>.</cite><span class="cs1-maint citation-comment"><code class="cs1-code">{{cite book}}</code>: CS1 maint: location missing publisher (link)</span></span>
</li>
<li id="cite_note-19"><span class="mw-cite-backlink"><b><a href="#cite_ref-19">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://web.archive.org/web/20101223213150/http://idav.ucdavis.edu/~okreylos/index.html">"Oliver Krelos' Homepage"</a>. Archived from <a rel="nofollow" class="external text" href="http://idav.ucdavis.edu/~okreylos/index.html">the original</a> on 23 December 2010<span class="reference-accessdate">. Retrieved <span class="nowrap">8 March</span> 2011</span>.</cite></span>
</li>
<li id="cite_note-20"><span class="mw-cite-backlink"><b><a href="#cite_ref-20">^</a></b></span> <span class="reference-text"><cite id="CITEREFKevin_Parrish2010" class="citation web cs1">Kevin Parrish (17 November 2010). <a rel="nofollow" class="external text" href="http://www.tomshardware.com/news/Kinect-Oliver-Kreylos-Hack-3D-Video-Capture-Hector-Martin,11640.html">"Kinect Used As 3D Video Capture Tool"</a>. Tom's Hardware.</cite></span>
</li>
<li id="cite_note-21"><span class="mw-cite-backlink"><b><a href="#cite_ref-21">^</a></b></span> <span class="reference-text"><cite id="CITEREFTim_Stevens2010" class="citation web cs1">Tim Stevens (29 November 2010). <a rel="nofollow" class="external text" href="https://www.engadget.com/2010/11/29/two-kinects-join-forces-to-create-better-3d-video-blow-our-mind/">"Two Kinects join forces to create better 3D video, blow our minds (video)"</a>. Engadget.</cite></span>
</li>
<li id="cite_note-22"><span class="mw-cite-backlink"><b><a href="#cite_ref-22">^</a></b></span> <span class="reference-text"><cite id="CITEREFJenna_Wortham2010" class="citation web cs1">Jenna Wortham (21 November 2010). <a rel="nofollow" class="external text" href="https://www.nytimes.com/2010/11/22/technology/22hack.html">"With Kinect Controller, Hackers Take Liberties"</a>. <i><a href="The_New_York_Times" title="The New York Times">The New York Times</a></i>.</cite></span>
</li>
<li id="cite_note-23"><span class="mw-cite-backlink"><b><a href="#cite_ref-23">^</a></b></span> <span class="reference-text"><cite id="CITEREFHsu2009" class="citation web cs1">Hsu, Jeremy (27 February 2009). <a rel="nofollow" class="external text" href="https://web.archive.org/web/20090302073338/http://www.popsci.com/entertainment-amp-gaming/article/2009-02/virtual-camera-captures-actors%E2%80%99-movements-iresident-evil-5i">""Virtual Camera" Captures Actors' Movements for Resident Evil 5"</a>. <i><a href="Popular_Science" title="Popular Science">Popular Science</a></i>. Archived from <a rel="nofollow" class="external text" href="http://www.popsci.com/entertainment-amp-gaming/article/2009-02/virtual-camera-captures-actors’-movements-iresident-evil-5i">the original</a> on 2 March 2009.</cite></span>
</li>
<li id="cite_note-wired-24"><span class="mw-cite-backlink">^ <a href="#cite_ref-wired_24-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-wired_24-1"><sup><i><b>b</b></i></sup></a></span> <span class="reference-text"><cite id="CITEREFLewinski2009" class="citation magazine cs1">Lewinski, John Scott (27 February 2009). <a rel="nofollow" class="external text" href="https://www.wired.com/2009/02/resident-evil-5-6/">"Resident Evil 5 Offers Sneak Peek at Avatar's 'Virtual Camera'"</a>. <i><a href="Wired_(magazine)" title="Wired (magazine)">Wired</a></i><span class="reference-accessdate">. Retrieved <span class="nowrap">25 February</span> 2015</span>.</cite></span>
</li>
<li id="cite_note-25"><span class="mw-cite-backlink"><b><a href="#cite_ref-25">^</a></b></span> <span class="reference-text"><cite id="CITEREFLowe2009" class="citation web cs1">Lowe, Scott (27 February 2009). <a rel="nofollow" class="external text" href="http://www.ign.com/articles/2009/02/28/the-tech-behind-re5">"The Tech Behind RE5"</a>. <i><a href="IGN" title="IGN">IGN</a></i><span class="reference-accessdate">. Retrieved <span class="nowrap">24 February</span> 2015</span>.</cite></span>
</li>
<li id="cite_note-26"><span class="mw-cite-backlink"><b><a href="#cite_ref-26">^</a></b></span> <span class="reference-text"><cite id="CITEREFThompson2010" class="citation web cs1">Thompson, Anne (1 January 2010). <a rel="nofollow" class="external text" href="http://www.popularmechanics.com/culture/movies/a5067/4339455/">"How James Cameron's Innovative New 3D Tech Created Avatar"</a>. <i><a href="Popular_Mechanics" title="Popular Mechanics">Popular Mechanics</a></i><span class="reference-accessdate">. Retrieved <span class="nowrap">25 February</span> 2015</span>.</cite></span>
</li>
<li id="cite_note-27"><span class="mw-cite-backlink"><b><a href="#cite_ref-27">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://www.optitrack.com/products/insight-vcs/">"Optitrack InsightVCS"</a><span class="reference-accessdate">. Retrieved <span class="nowrap">15 March</span> 2015</span>.</cite></span>
</li>
<li id="cite_note-28"><span class="mw-cite-backlink"><b><a href="#cite_ref-28">^</a></b></span> <span class="reference-text"><cite id="CITEREFMichael_McKenna1992" class="citation book cs1">Michael McKenna (March 1992). "Interactive viewpoint control and three-dimensional operations". <i>Proceedings of the 1992 symposium on Interactive 3D graphics - SI3D '92</i>. ACM. pp.&nbsp;<span class="nowrap">53–</span>56. <a href="CiteSeerX_(identifier)" class="mw-redirect" title="CiteSeerX (identifier)">CiteSeerX</a>&nbsp;<span class="id-lock-free" title="Freely accessible"><a rel="nofollow" class="external text" href="https://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.132.8599">10.1.1.132.8599</a></span>. <a href="Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.1145%2F147156.147163">10.1145/147156.147163</a>. <a href="ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a>&nbsp;<bdi>978-0897914673</bdi>. <a href="S2CID_(identifier)" class="mw-redirect" title="S2CID (identifier)">S2CID</a>&nbsp;<a rel="nofollow" class="external text" href="https://api.semanticscholar.org/CorpusID:17308648">17308648</a>.</cite></span>
</li>
<li id="cite_note-29"><span class="mw-cite-backlink"><b><a href="#cite_ref-29">^</a></b></span> <span class="reference-text"><cite id="CITEREFFrederick_Brooks_Jr.1992" class="citation journal cs1">Frederick Brooks Jr. (June 1992). <a rel="nofollow" class="external text" href="http://www.cs.unc.edu/techreports/92-026/92-026.pdf">"Final Technical Report – Walkthrough Project"</a> <span class="cs1-format">(PDF)</span>. <i>Tr92-026</i>. University of North Carolina at Chapel Hill. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20150923211411/http://www.cs.unc.edu/techreports/92-026/92-026.pdf">Archived</a> <span class="cs1-format">(PDF)</span> from the original on 23 September 2015<span class="reference-accessdate">. Retrieved <span class="nowrap">23 March</span> 2015</span>.</cite></span>
</li>
</ol></div></div>
<p class="mw-empty-elt">
</p></div><!--htdig_noindex--><div><div class="zim-footer">
This article is issued from <a class="external text" title="Last edited on 2025-04-20" href="https://en.wikipedia.org/wiki/?title=Virtual_camera_system&amp;oldid=1286495816">Wikipedia</a>. The text is available under <a class="external text" href="https://creativecommons.org/licenses/by-sa/4.0/deed.en">Creative Commons Attribution-Share Alike 4.0</a> unless otherwise noted. Additional terms may apply for the media files.
</div>
</div><!--/htdig_noindex--></div>
</div>
</main>
</div>
</div>
</div>

</body></html>